package com.ruoyi.constants;

/**
 * 业务常量
 *
 * @author lichao
 * @date 2022/10/13 10:21
 */
public class BusinessConstants {

    public static final String FAHUO_0 = "0";  //未生成发货通知
    public static final String FAHUO_1 = "1";  //发货通知
    public static final String FAHUO_2 = "2";  //代发货

    public static final String PROJECT_0 = "0";  //项目创建
    public static final String PROJECT_1 = "1";  //项目提交
    public static final String PROJECT_2 = "2";  //待请购
    public static final String PROJECT_3 = "3";  //已请购
    public static final String PROJECT_33 = "33";  //请购弃审
    public static final String PROJECT_4 = "4";  //已采购
    public static final String PROJECT_6 = "6";  //采购部审核通过


    public static final String SALE_STATE_1 = "1";  //已请购
    public static final String SALE_STATE_2 = "2";  //已请购
    public static final String SALE_STATE_3 = "3";  //已请购

    public static final String GONGXU_STATUS_0 = "0";  //未分配工序
    public static final String GONGXU_STATUS_1 = "1";  //已分配工序
    public static final String GONGXU_STATUS_2 = "2";  //已完成派工

    public static final String GONGXU_BAOGONG_0 = "0";  //未报工
    public static final String GONGXU_BAOGONG_1 = "1";  //部分报工
    public static final String GONGXU_BAOGONG_2 = "2";  //已报工

    public static final String GOODS_0 = "0";  //项目创建
    public static final String GOODS_1 = "1";  //项目提交
    public static final String GOODS_2 = "2";  //待请购
    public static final String GOODS_3 = "3";  //已请购
    public static final String GOODS_STATUS_IS_DO_YES = "5";  //自制
    public static final String GOODS_4 = "4";  //采购中（同意请购）
    public static final String GOODS_8 = "8";  //待入库
    public static final String GOODS_9 = "9";  //已入库
    public static final String GOODS_30 = "30";  //库管退回产品
    public static final String GOODS_31 = "31";  //产品二次提交
    public static final String GOODS_32 = "32";  //技术弃审
    public static final String GOODS_33 = "33";  //采购弃审

    public static final String YIFAHUO_0 = "0";  //未提交发货
    public static final String YIFAHUO_1 = "1";  //已提交待审核
    public static final String YIFAHUO_2 = "2";  //已审核(同意)
    public static final String YIFAHUO_3 = "3";  //弃审
    public static final String YIFAHUO_4 = "4";  //已到货
    public static final String YIFAHUO_5 = "5";  //暂存发货
    public static final String YIFAHUO_6 = "6";  //财务确认


    public static final String FAHUOTONGZHI_1 = "1";  //待发货
    public static final String FAHUOTONGZHI_2 = "2";  //已发货
    public static final String FAHUOTONGZHI_4 = "4";  //部分到货
    public static final String FAHUOTONGZHI_5 = "5";  //全部到货

    public static final String TYPE_RUKU = "0";  // 入库
    public static final String TYPR_CHUKU = "1";  // 出库

    public static final String BAOGONG_STATUS0 = "0";  // 未报工
    public static final String BAOGONG_STATUS1 = "1";  // 已报工
    public static final String BAOGONG_STATUS2 = "2";  // 已质检

    public static final String SALE_TYPE_0 = "0";  // 创建
    public static final String SALE_TYPE_1 = "1";  // 提交产品
    public static final String SALE_TYPE_2 = "2";  // 待请购
    public static final String SALE_TYPE_22 = "22";  // 请购中
    public static final String SALE_TYPE_3 = "3";  //   已请购
    public static final String SALE_TYPE_4 = "4";  // 同意请购（郑部长）
    public static final String SALE_TYPE_5 = "5";  // 待自制
    public static final String SALE_TYPE_6 = "6";  // 发货中（审核通过）
    public static final String SALE_TYPE_7 = "7";  // 已收货
    public static final String SALE_TYPE_8 = "8";  // 已质检待入库
    public static final String SALE_TYPE_9 = "9";  // 入库
    public static final String SALE_TYPE_10 = "10";  // 采购到货
    public static final String SALE_TYPE_11 = "11";  // 待发货
    public static final String SALE_TYPE_12 = "12";  // 已采购
    public static final String SALE_TYPE_13 = "13";  // 同意采购（采购部）
    public static final String SALE_TYPE_14 = "14";  // 部分生产
    public static final String SALE_TYPE_15 = "15";  // 生产完成
    public static final String SALE_TYPE_29 = "29";  //退回产品关闭
    public static final String SALE_TYPE_30 = "30";  //库管退回产品
    public static final String SALE_TYPE_31 = "31";  //产品二次提交
    public static final String SALE_TYPE_32 = "32";  // 技术弃审
    public static final String SALE_TYPE_33 = "33";  // 采购弃审
    public static final String SALE_TYPE_38 = "38";  // 技术退回
    public static final String SALE_TYPE_39 = "39";  // 采购退回

    public static final String SALE_TYPE_88 = "88";  // 退后不入库
    public static final String SALE_TYPE_99 = "99";  // 退货待入库

    public static final String SYNC_STATUS_YES = "Y";
    public static final String SYNC_STATUS_NO = "N";

    public static final String STATUS_YES = "1";//是
    public static final String STATUS_NO = "0";//否

    public static final String TYPE_PROJECT = "2";//项目销售
    public static final String TYPE_OTHER = "1";//零售
    public static final String TYPE_PROJECT_FEE = "3";//项目费用


    public static final String STATUS_IMBURSEMENT_SQZ = "0";//报销单申请中
    public static final String STATUS_IMBURSEMENT_SHTG = "1";//报销单已审核通过
    public static final String STATUS_IMBURSEMENT_FF = "2";//报销单已发放

    public static final String FAHUO_TYPE_0 = "0";//普通发货
    public static final String FAHUO_TYPE_1 = "1";//直发货

    public static final String FUND_NO = "0";//未回款
    public static final String FUND_YES = "1";//已汇款
    public static final String FUND_PART = "2";//部分汇款

    public static final String MONEY_PLAN = "1";//计划汇款
    public static final String MONEY_YES = "2";//实际汇款
    public static final String TYPE = "buy_type";//类型
    public static final String STATUS = "imburse_status";//状态
    public static final String BUYTYPE = "buy_type";//采购方式
    public static final String YES_NO = "yes_no";//是否
    public static final String FUND_CALLBACK = "fund_callback";//是否

    public static final String TAX_STATUS_0 = "0";  //未开票
    public static final String TAX_STATUS_1 = "1";  //部分开票
    public static final String TAX_STATUS_2 = "2";  //开票完毕

    // 到货状态 0未到货 1部分到货 2全部到货 8退货不入库 9退货入库
    public static final String GOODS_ARRIVAL_STATUS_NOT = "0";   //未到货
    public static final String GOODS_ARRIVAL_STATUS_PART = "1";  //部分到货
    public static final String GOODS_ARRIVAL_STATUS_ALL = "2";   //全部到货

    public static final String GOODS_ARRIVAL_STATUS_BURUKU = "8";   //退货不入库
    public static final String GOODS_ARRIVAL_STATUS_RUKU = "9";   //退货入库

    //采购单 付款申请状态
    public static final String BUY_PAY_STATUS_NOT = "0";  // 未申请
    public static final String BUY_PAY_STATUS_ALL_APPLY = "1";  // 申请付全款
    public static final String BUY_PAY_STATUS_DEPOSIT_APPLY = "2";  // 申请付定金
    public static final String BUY_PAY_STATUS_DEPOSIT_PAID = "3";  // 已付定金
    public static final String BUY_PAY_STATUS_PART = "4";  // 申请部分
    public static final String BUY_PAY_STATUS_PAID = "5";  //付款完成
    public static final String BUY_PAY_STATUS_DEPOSIT_REJECT = "-1";   // 定金申请退回
    public static final String BUY_PAY_STATUS_PART_REJECT = "-2";   // 部分付款申请退回
    public static final String BUY_PAY_STATUS_ALL_REJECT = "-3";   // 付全款退回

    //采购单 运费付款状态
    public static final String BUY_PAY_SHIPPING_NOT = "0";   // 未申请
    public static final String BUY_PAY_SHIPPING_APPLY = "1";   // 已申请
    public static final String BUY_PAY_SHIPPING_PART = "2";   // 部分付款
    public static final String BUY_PAY_SHIPPING_PAID = "3";   // 已付款
    public static final String BUY_PAY_SHIPPING_REJECT = "-1";   // 付款申请退回


    // 付款申请类别
    public static final String PAY_APPLY_TYPE_DEPOSIT = "0";  // 定金
    public static final String PAY_APPLY_TYPE_PART = "1";  // 部分
    public static final String PAY_APPLY_TYPE_ALL = "2";  // 全款
    public static final String PAY_APPLY_TYPE_SUM = "3";  // 合并付款


    // 付款申请类别
    public static final String PAY_APPLY_CATEGORY_BOND = "0";               // 投标保证金
    public static final String PAY_APPLY_CATEGORY_SERVICE = "1";            // 中标服务费
    public static final String PAY_APPLY_CATEGORY_BOOK = "2";               // 标书费
    public static final String PAY_APPLY_CATEGORY_BUY_COMMON = "3";        // 普通采购
    public static final String PAY_APPLY_CATEGORY_BUY_IRON = "4";           // 铁件采购
    public static final String PAY_APPLY_CATEGORY_SHIPPING = "5";           // 运费


    // 付款申请交易类别
    public static final String PAY_APPLY_TRANSACTION_TYPE_PAY = "0";           // 付款
    public static final String PAY_APPLY_TRANSACTION_TYPE_REFUND = "1";        // 退款


    // 产品类型
    public static final String GOODS_TYPE_HARDWARE = "0";  // 成品
    public static final String GOODS_TYPE_MATERIAL = "1";  // 材料


    // 质检状态 0 待质检  1 已质检
    public static final String INSPECT_STATE_UN = "0";  // 待质检
    public static final String INSPECT_STATE_YES = "1";  // 已质检
    public static final String INSPECT_STATE_NO = "2";  // 质检不通过
    //  入库状态  0 未入库 1 已入库
    public static final String STORAGE_STATE_UN = "0";  // 未入库
    public static final String STORAGE_STATE_YES = "1";   // 已入库
    public static final String STORAGE_STATE_ZHIJIAN = "2";   // 待质检


    //  铁附件订单 拆解 状态  0 待补充明细  1-待申请材料  2-已申请材料采购  3-申请材料采购退回
    public static final String ORDER_IRON_STATE_EMPTY = "0";      // 待补充明细
    public static final String ORDER_IRON_STATE_MATERIAL = "1";   // 待材料请购
    public static final String ORDER_IRON_STATE_BUY = "2";        // 已申请材料采购
    public static final String ORDER_IRON_STATE_REJECT = "3";        // 申请材料采购退回


    //  付款申请审核状态
    public static final String PAY_APPLY_ASSESS_STATUS_UN = "0";      // 待审核
    public static final String PAY_APPLY_ASSESS_STATUS_AUDIT_REJECT = "1";         // 审计退回
    public static final String PAY_APPLY_ASSESS_STATUS_AUDIT_PASS = "2";         // 审计通过
    public static final String PAY_APPLY_ASSESS_STATUS_REJECT = "3";         // 终审退回
    public static final String PAY_APPLY_ASSESS_STATUS_PASS = "4";         // 终审通过
    public static final String PAY_APPLY_ASSESS_STATUS_CANCEL = "-1";         // 撤销申请


    //  付款申请    打款状态
    public static final String PAY_APPLY_PAY_STATUS_UN = "0";          // 未付款
    public static final String PAY_APPLY_PAY_STATUS_PART = "1";        // 部分付款
    public static final String PAY_APPLY_PAY_STATUS_PAID = "2";        // 已付款


    //  请购单状态  -订单请购
    public static final String PLEASE_BUY_STATUS_STORE_REJECT = "-1";     // 库管退回
    public static final String PLEASE_BUY_STATUS_STORE_SUBMIT = "0";     // 库管提交 技术待审核
    public static final String PLEASE_BUY_STATUS_TECH_REJECT = "1";      // 技术退回
    public static final String PLEASE_BUY_STATUS_TECH_SUBMIT = "2";      // 技术提交
    public static final String PLEASE_BUY_STATUS_BUY_REJECT = "3";       // 采购退回
    public static final String PLEASE_BUY_STATUS_BUY_PASS = "4";         // 采购同意
    public static final String PLEASE_BUY_STATUS_MATERIAL_SUBMIT = "5";  // 材料请购提交
    public static final String PLEASE_BUY_STATUS_BUY_DEPT_PASS = "6";  // 采购审核通过
    public static final String PLEASE_BUY_STATUS_QINGGOU_9 = "9";  // 其他请购单建立（待提交）


    //  请购单状态  -铁附件请购
    public static final String PLEASE_BUY_IRON_STATUS_TECH_SUBMIT = "0";     // 技术提交
    public static final String PLEASE_BUY_IRON_STATUS_STORE_REJECT = "1";     // 库管退回
    public static final String PLEASE_BUY_IRON_STATUS_STORE_SUBMIT = "2";     // 库管提交
    public static final String PLEASE_BUY_IRON_STATUS_BUY_REJECT = "3";       // 采购退回
    public static final String PLEASE_BUY_IRON_STATUS_BUY_PASS = "4";         // 采购通过


    //  产品是否自制
    public static final String GOODS_DO_YES = "1";   // 自制
    public static final String GOODS_DO_NO = "0";   // 不自制

    //  产品是否需要请购
    public static final String GOODS_IS_BUY_YES = "1";   // 需采购
    public static final String GOODS_IS_BUY_NO = "0";   // 不采购


    //  审核状态
    public static final String ASSESS_STATUS_UN = "0";      // 待审核
    public static final String ASSESS_STATUS_PASS = "1";         // 审核通过
    public static final String ASSESS_STATUS_REJECT = "2";         // 审核不通过


    //  样品申请-审核状态
    public static final String SAMPLE_ASSESS_STATUS_OUT_UN = "0";      // 出库待审核
    public static final String SAMPLE_ASSESS_STATUS_OUT_PASS = "1";         // 出库审核通过
    public static final String SAMPLE_ASSESS_STATUS_OUT_REJECT = "2";         // 出库审核不通过
    public static final String SAMPLE_ASSESS_STATUS_IN_UN = "3";         // 入库未审核
    public static final String SAMPLE_ASSESS_STATUS_IN_PASS = "4";         // 入库审核通过
    public static final String SAMPLE_ASSESS_STATUS_IN_REJECT = "5";         // 入库审核不通过


    // 检测标准值取值类型
    public static final String STANDARD_COMPARE_TYPE_DESC = "0";         // 描述
    public static final String STANDARD_COMPARE_TYPE_RANGE_CC = "1";         // 区间（全闭）
    public static final String STANDARD_COMPARE_TYPE_RANGE_CO = "2";         // 区间（前闭后开）
    public static final String STANDARD_COMPARE_TYPE_RANGE_OC = "3";         // 区间（前开后闭）
    public static final String STANDARD_COMPARE_TYPE_RANGE_OO = "4";         // 区间（全开）
    public static final String STANDARD_COMPARE_TYPE_GT = "5";         // 大于
    public static final String STANDARD_COMPARE_TYPE_EGT = "6";         // 大于等于
    public static final String STANDARD_COMPARE_TYPE_LT = "7";         // 小于
    public static final String STANDARD_COMPARE_TYPE_ELT = "8";         // 小于等于

    //  是否有预付款
    public static final String IS_DEPOSIT_YES = "Y";
    public static final String IS_DEPOSIT_NO = "N";


    public static final String TYPE_CHAIJIE_NO = "0";  // 未拆解
    public static final String TYPE_CHAIJIE_YES = "1";  // 已拆解


    public static final String ORDER_GOODS_TYPE_HARDWARE = "0";  // 金具
    public static final String ORDER_GOODS_TYPE_IRON = "1";  // 铁件
    public static final String ORDER_GOODS_TYPE_PIPE = "2";  // 管材
    public static final String ORDER_GOODS_TYPE_END = "3";  // 端子


    /** * 到货状态  */
    public static final String ARRIVE_STATUS_ED = "0";  // 已到货(待质检)
    public static final String ARRIVE_STATUS_BUY_REFUSE = "1";  // 采购弃审
    public static final String ARRIVE_STATUS_TEST_PASS = "2";  // 质检通过(待入库)
    public static final String ARRIVE_STATUS_TEST_REJECT = "3";  // 质检弃审
    public static final String ARRIVE_STATUS_STORE_PASS = "4";  // 已入库
    public static final String ARRIVE_STATUS_STORE_REJECT = "5";  // 库管弃审


    /** * 退货状态 */
    public static final String RETURN_STATUS_UN = "0";              // 未退货
    public static final String RETURN_STATUS_APPLY = "1";           // 申请退货
    public static final String RETURN_STATUS_STORE_REJECT = "-1";   // 库管弃审
    public static final String RETURN_STATUS_OUT = "2";             // 已出库

    /** * 采购来源 */
    public static final String PLEASE_BUY_SOURCE_ORDER = "0";               // 订单请购
    public static final String PLEASE_BUY_SOURCE_OTHER = "1";               // 其他请购
    public static final String PLEASE_BUY_SOURCE_IRON = "2";                // 铁件请购
    public static final String PLEASE_BUY_SOURCE_MATERIAL = "3";            // 材料请购
    public static final String PLEASE_BUY_SOURCE_ORDER_MERGE = "4";        // 订单合并请购
    public static final String PLEASE_BUY_SOURCE_ORDER_TWICE = "5";        // 二次请购


    /** * 请购单来源 */
    public static final String SOURCE_0 = "0";  //订单请购的
    public static final String SOURCE_1 = "1";  //自行请购的
    public static final String SOURCE_9 = "9";  //U8导入的


    // 付款单状态
    public static final String PAY_RECORD_STATUS_YES = "0";     //已付款
    public static final String PAY_RECORD_STATUS_CANCEL = "2";  //已取消

    public static final String GOODS_METAIL_0 = "0";  //工人领料
    public static final String GOODS_METAIL_1 = "1";  //锁定产品
    public static final String GOODS_METAIL_2 = "2";  //发货用料

    //入库类型
    public static final String RUKU_TYPE_1 = "1";  //管材材料采购
    public static final String RUKU_TYPE_2 = "2";  //管材成品采购
    public static final String RUKU_TYPE_3 = "3";  //管材辅料采购
    public static final String RUKU_TYPE_4 = "4";  //金具材料采购
    public static final String RUKU_TYPE_5 = "5";  //金具成品采购
    public static final String RUKU_TYPE_6 = "6";  //金具辅料采购
    public static final String RUKU_TYPE_7 = "7";  //铁附件材料
    public static final String RUKU_TYPE_8 = "8";  //自制
    public static final String RUKU_TYPE_9 = "9";  //其他


    public static final String RUKU_SOURCE_BUY = "0";       //采购
    public static final String RUKU_SOURCE_PRODUCE = "1";   //生产
    public static final String RUKU_SOURCE_OTHER = "2";     //其他


    /*  生产单记录状态  */
    public static final String PRODUCE_RECORD_STATUS_UN = "0";               //待提交
    public static final String PRODUCE_RECORD_STATUS_SUBMIT = "1";           //提交质检
    public static final String PRODUCE_RECORD_STATUS_INSPECT_PASS = "2";     //质检通过
    public static final String PRODUCE_RECORD_STATUS_INSPECT_REJECT = "3";   //质检退回
    public static final String PRODUCE_RECORD_STATUS_STORE_PASS = "4";       //库管通过
    public static final String PRODUCE_RECORD_STATUS_STORE_REJECT = "5";     //库管退回
    public static final String PRODUCE_RECORD_STATUS_RESUBMIT = "6";         //再次提交

    public static final String PROD_STATUS_0 = "0";       //待分配
    public static final String PROD_STATUS_1 = "1";   //已分配待生产
    public static final String PROD_STATUS_2 = "2";   //已设定工序
    public static final String PROD_STATUS_3 = "3";   //已分配任务
    public static final String PROD_STATUS_4 = "4";   //已有报工
    public static final String PROD_STATUS_5 = "5";   //报工完成
    public static final String PROD_STATUS_6 = "6";   //已入库
    public static final String PROD_STATUS_7 = "7";   //待质检
    public static final String PROD_STATUS_8 = "8";   //已质检
    public static final String PROD_STATUS_9 = "9";   //不自制

    public static final String FACTORP_PROD_STATUS_1 = "1";       //创建
    public static final String FACTORP_PROD_STATUS_2 = "2";   //原材料检验
    public static final String FACTORP_PROD_STATUS_3 = "3";   //生产中（包含原材料检验）
    public static final String FACTORP_PROD_STATUS_4 = "4";   //出厂试验
    public static final String FACTORP_PROD_STATUS_5 = "5";   //包装入库

    /**
     * 发票核销状态
     */
    public static final String INVOICE_BACK_STATUS_WHX = "whx";     //未核销
    public static final String INVOICE_BACK_STATUS_BFHX = "bfhx";   //部分核销
    public static final String INVOICE_BACK_STATUS_YHX = "yhx";     //已核销


    /**
     * 采购来源
     */
    public static final String BUY_SOURCE_PLEASE = "0";       //请采
    public static final String BUY_SOURCE_SELF = "1";         //自采
    public static final String BUY_SOURCE_IRON = "2";         //铁件


    /**
     * 采购发票状态
     */
    public static final String BUY_INVOICE_STATUS_NOT_SUBMIT = "0";       // 未提交
    public static final String BUY_INVOICE_STATUS_SUBMIT = "1";           // 已提交（待审核）
    public static final String BUY_INVOICE_STATUS_REJECT = "2";           // 退回
    public static final String BUY_INVOICE_STATUS_PASS = "3";             // 审核通过


    /**
     * 采购交易类型
     */

    public static final String BUY_TRANSACTION_TYPE_BUY = "0";             // 采购
    public static final String BUY_TRANSACTION_TYPE_RETURN = "1";          // 退货


    /**
     * 应付账款类别
     */
    public static final String AP_TYPE_INVOICE = "0";               // 采购发票
    public static final String AP_TYPE_PAY_SURE = "1";             // 打款
    public static final String AP_TYPE_PAY_CANCEL = "2";           // 取消打款
    public static final String AP_TYPE_STORE_IN = "3";             // 入库
    public static final String AP_TYPE_STORE_OUT = "4";             // 退货出库


    /**
     * 应收账款类别
     */
    public static final String AR_TYPE_SEND = "0";                           // 发货
    public static final String AR_TYPE_RECEIVE_PAYMENT = "1";                // 收款
    public static final String AR_TYPE_SEND_CANCEL = "2";                     // 退货
    public static final String AR_TYPE_RECEIVE_PAYMENT_CANCEL = "3";          // 撤销收款


    /**
     * 产品库存编码替换状态
     */
    public static final String GOODS_REPLACE_STATUS_UN = "0";               // 未替换
    public static final String GOODS_REPLACE_STATUS_SUCCESS = "1";          // 替换成功
    public static final String GOODS_REPLACE_STATUS_FAIL = "0";             // 替换失败


    /**
     * 回款单状态
     */
    public static final String INVOICE_RECEIPT_STATUS_UN = "0";              // 未核销
    public static final String INVOICE_RECEIPT_STATUS_FAILED = "1";          // 核销失败
    public static final String INVOICE_RECEIPT_STATUS_SUCCESS = "2";        // 核销成功

    /**
     * 回款单核销方式
     */
    public static final String INVOICE_RECEIPT_WAY_UN = "0";                // 未核销
    public static final String INVOICE_RECEIPT_WAY_AUTO = "1";              // 自动
    public static final String INVOICE_RECEIPT_WAY_HAND = "2";              // 手动

    /**
     * 领料明细状态
     */
    public static final String LINGLIAO_0 = "0";              // 未生成领料单
    public static final String LINGLIAO_1 = "1";              // 已生成领料单
    public static final String LINGLIAO_2 = "2";              // 已领料


    /**
     * 删除状态
     */
    public static final String DEL_FLAG_YES = "2";
    public static final String DEL_FLAG_NO = "0";


    public static String[] standardIgnoreType = {"id", "createBy", "createTime", "updateBy", "updateTime", "remark", "delFlag",
            "projectId", "orderId", "goodsId", "goodsName", "goodsModel", "type", "saleId", "name", "producer", "code",
            "heatBatchNumber", "batchNumber", "sampleNumber", "leaveInspectDate", "arriveInspectDate", "qualityCertificate",
            "inspectTime", "productNumber", "batchProductTotal"};


}
